package com.tencentcloudapi.wemeet.models.meeting;

import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import com.squareup.okhttp.MediaType;
import com.tencentcloudapi.wemeet.common.constants.HttpMethodEnum;
import com.tencentcloudapi.wemeet.models.AbstractModel;


import java.io.Serializable;
import java.util.List;

public class InviteesMeetingRequest extends AbstractModel {

    /**
     * 会议的唯一 ID
     */
    private String meetingId;
    @Expose
    @SerializedName("userid")
    private String userId;
    @Expose
    @SerializedName("instanceid")
    private Integer instanceId;

    @Expose
    @SerializedName("invitees")
    private List<InviteUser> invitees;



    public String getMeetingId() {
        return meetingId;
    }

    public void setMeetingId(String meetingId) {
        this.meetingId = meetingId;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public List<InviteUser> getInvitees() {
        return invitees;
    }

    public void setInvitees(List<InviteUser> invitees) {
        this.invitees = invitees;
    }

    public Integer getInstanceId() {
        return instanceId;
    }

    public void setInstanceId(Integer instanceId) {
        this.instanceId = instanceId;
    }




    @Override
    public String getPath() {
        return "/v1/meetings/" + this.meetingId + "/invitees";
    }


    @Override
    public String getBody() {
        return GSON.toJson(this);
    }

    @Override
    public MediaType contentType() {
        return MediaType.parse(MEDIA_TYPE_APPLICATION_JSON);
    }

    @Override
    public HttpMethodEnum getMethod() {
        return HttpMethodEnum.PUT;
    }




    public static class InviteUser implements Serializable {
        /**
         * 用户 ID（企业内部请使用企业唯一用户标识；OAuth2.0 鉴权用户请使用 openId）
         */
        @Expose
        @SerializedName("userid")
        private String userId;

        public String getUserId() {
            return userId;
        }

        public void setUserId(String userId) {
            this.userId = userId;
        }

        @Override
        public String toString() {
            return "InviteUser{" +
                    "userId='" + userId + '\'' +
                    '}';
        }
    }



}
